package com.tianyi.factory.abstr;

import com.tianyi.factory.Apple;
import com.tianyi.factory.Huawei;
import com.tianyi.factory.Mobile;
import com.tianyi.factory.Xiaomi;

//抽象工厂，定义一个默认无参getMobile方法和一个有参的getMobile方法，然后用各自的工厂继承该抽象工厂
//这样相当于结合了简单工厂和工厂方法
public abstract class AbstractFactory {

	
	//无参的
	public abstract Mobile getMobile();
	
	
	//有参的
	public Mobile getMobile(String name){
		if("Apple".equalsIgnoreCase(name)){
			return new Apple();
		}else if("Xiaomi".equalsIgnoreCase(name)){
			return new Xiaomi();
		}else if("Huawei".equalsIgnoreCase(name)){
			return new Huawei();
		}else{
			System.out.println("暂无产品生产功能");
			return null;
		}
	}
}
